Towards Tool-Support for Evolutionary Software Product Line Development

نویسندگان

  • Benjamin Klatt
  • Klaus Krogmann
چکیده

Software vendors often need to vary their products to satisfy customer-specific requirements. In many cases, existing code is reused and adapted to the new project needs. This copy&paste course of action leads a multiproduct code-base that is hard to maintain. Software Product Lines (SPL) emerged as an appropriate concept to manage product families with common functionality and code bases. Evolutionary SPLs, with a product-first-approach and an expost product line, provide advantages such as a reduced time-to-market and SPLs based on evaluated and proven products [3]. In addition to the advantages, the evolutionary derivation of an SPL from existing products approach requires challenging tasks to enforce such a transformation: i) The existing software including the differences between the derivates need to be understood. ii) Furthermore, the common SPL architecture has to be understood and the products have to be refactored into a core with variation points as well as variations that can be instantiated for the derived products. There are existing approaches to introduce and maintain evolutionary SPLs [5],[6]. Most of them start with the requirement specifications and only few consider the analysis of existing software artifacts. The latter often include hidden variation points that might be missed by considering requirements only as described by Schütz et al. [7]. However, Schütz et al. also state that the software analysis and finding of the right variation architecture is often too complex and expensive to be done manually by the developers. In this paper, we present an integrated, toolsupported reverse-engineering, variation analysis, and refactoring approach which transforms similar products to an evolutionary SPL. Introducing automation in that evolutionary SPL approach provides a high potential to reduce the effort of analyzing the products under examination and to support choosing the most appropriate SPL architecture. Companies will benefit from this effort reduction and are supported in introducing an SPL. Our approach is related to the one of Frenzel and Koschke [4], but considers custom SPL characteristics, respects the component-based architecture paradigm (e.g. explicit interfaces) and gives the freedom to choose from multiple possible variation point designs which are evaluated by the approach. In the following, we provide an insight to the individual steps of the proposed process as well as an outlook on how we plan to evaluate the approach and on the future development.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Evolutionary Product Line Modelling

A traditional product line approach struggles with complexity and weak evolution support. We propose an evolutionary software product line modelling approach based on controllable inheritance of product line members specifications. Instead of a predefined product line architecture we use hierarchies of implemented product specifications accompanied by correctness control of product model transf...

متن کامل

Filtered Model-Driven Product Line Engineering with SuperMod: The Home Automation Case

Software Product Line Engineering promises to increase the productivity of software development. In the literature, a plan-driven process has been established that is divided up into domain and application engineering. We argue that the strictly sequential order of its process activities implies several disadvantages such as increased complexity, late customer feedback, and duplicate maintenanc...

متن کامل

A Decision Support Tool for Assessing the Maturity of Software Product Line Process

The software product line aims at the effective utilization of software assets, reducing the time required to deliver a product, improving the quality, and decreasing the cost of software products. Organizations trying to incorporate this concept require an approach to assess the current maturity level of the software product line process in order to make management decisions. A decision suppor...

متن کامل

Behavioural inheritance in the UML to model software product lines

1 Traditional product line approaches struggle with complexity and weak evolution support. We 2 propose an evolutionary software product line modelling approach based on controllable inheritance 3 of product line members specifications. Instead of a predefined product line architecture we 4 use hierarchies of implemented product specifications plus correctness control of product model 5 transfo...

متن کامل

Evolution of Product Lines Using Traceability.PDF

A high level of software reusability is an important contribution to achieve evolvability and maintainability of large software systems. Software product lines enable reusability driven by common requirements of a family of similar software systems. This way, software product lines are a successor of other reusability approaches. However, for successful evolution of a product line have to be in...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Softwaretechnik-Trends

دوره 31  شماره 

صفحات  -

تاریخ انتشار 2011